<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>ClosureCodingConvention (Closure Compiler)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ClosureCodingConvention (Closure Compiler)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/javascript/jscomp/CheckLevelLegacy.html" title="enum in com.google.javascript.jscomp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.AssertInstanceofSpec.html" title="class in com.google.javascript.jscomp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/javascript/jscomp/ClosureCodingConvention.html" target="_top">Frames</a></li>
<li><a href="ClosureCodingConvention.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.javascript.jscomp</div>
<h2 title="Class ClosureCodingConvention" class="title">Class ClosureCodingConvention</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">com.google.javascript.jscomp.CodingConventions.Proxy</a></li>
<li>
<ul class="inheritance">
<li>com.google.javascript.jscomp.ClosureCodingConvention</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a>, java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">ClosureCodingConvention</span>
extends <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></pre>
<div class="block">This describes the Closure-specific JavaScript coding conventions.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#com.google.javascript.jscomp.ClosureCodingConvention">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.AssertInstanceofSpec.html" title="class in com.google.javascript.jscomp">ClosureCodingConvention.AssertInstanceofSpec</a></strong></code>
<div class="block">A function that will throw an exception when if the value is not
 an instanceof a specific type.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested_classes_inherited_from_class_com.google.javascript.jscomp.CodingConvention">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.google.javascript.jscomp.<a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></h3>
<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.AssertionFunctionSpec.html" title="class in com.google.javascript.jscomp">CodingConvention.AssertionFunctionSpec</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.Bind.html" title="class in com.google.javascript.jscomp">CodingConvention.Bind</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.DelegateRelationship.html" title="class in com.google.javascript.jscomp">CodingConvention.DelegateRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.ObjectLiteralCast.html" title="class in com.google.javascript.jscomp">CodingConvention.ObjectLiteralCast</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassRelationship.html" title="class in com.google.javascript.jscomp">CodingConvention.SubclassRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassType.html" title="enum in com.google.javascript.jscomp">CodingConvention.SubclassType</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;com.google.javascript.jscomp.<a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></h3>
<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#nextConvention">nextConvention</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#ClosureCodingConvention()">ClosureCodingConvention</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#ClosureCodingConvention(com.google.javascript.jscomp.CodingConvention)">ClosureCodingConvention</a></strong>(<a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a>&nbsp;wrapped)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#applySingletonGetter(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.ObjectType)">applySingletonGetter</a></strong>(<a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;functionType,
                    <a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;getterType,
                    <a href="../../../../com/google/javascript/rhino/jstype/ObjectType.html" title="class in com.google.javascript.rhino.jstype">ObjectType</a>&nbsp;objectType)</code>
<div class="block">In many JS libraries, the function that adds a singleton getter to a class
 adds properties to the class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#applySubclassRelationship(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.jscomp.CodingConvention.SubclassType)">applySubclassRelationship</a></strong>(<a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;parentCtor,
                         <a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;childCtor,
                         <a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassType.html" title="enum in com.google.javascript.jscomp">CodingConvention.SubclassType</a>&nbsp;type)</code>
<div class="block">Closure's goog.inherits adds a <code>superClass_</code> property to the
 subclass, and a <code>constructor</code> property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.Bind.html" title="class in com.google.javascript.jscomp">CodingConvention.Bind</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#describeFunctionBind(com.google.javascript.rhino.Node, boolean)">describeFunctionBind</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;n,
                    boolean&nbsp;useTypeInfo)</code>
<div class="block">A Bind instance or null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#extractClassNameIfProvide(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfProvide</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;node,
                         <a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parent)</code>
<div class="block">Extracts X from goog.provide('X'), if the applied Node is goog.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#extractClassNameIfRequire(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfRequire</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;node,
                         <a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parent)</code>
<div class="block">Extracts X from goog.require('X'), if the applied Node is goog.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getAbstractMethodName()">getAbstractMethodName</a></strong>()</code>
<div class="block">Function name for abstract methods.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../com/google/javascript/jscomp/CodingConvention.AssertionFunctionSpec.html" title="class in com.google.javascript.jscomp">CodingConvention.AssertionFunctionSpec</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getAssertionFunctions()">getAssertionFunctions</a></strong>()</code>
<div class="block">Returns the set of AssertionFunction.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassRelationship.html" title="class in com.google.javascript.jscomp">CodingConvention.SubclassRelationship</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getClassesDefinedByCall(com.google.javascript.rhino.Node)">getClassesDefinedByCall</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;callNode)</code>
<div class="block">Checks if the given method defines a subclass relationship,
 and if it does, returns information on that relationship.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getExportPropertyFunction()">getExportPropertyFunction</a></strong>()</code>
<div class="block">Use closure's implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getExportSymbolFunction()">getExportSymbolFunction</a></strong>()</code>
<div class="block">Use closure's implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getGlobalObject()">getGlobalObject</a></strong>()</code>
<div class="block">Gets the name of the global object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Collection&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getIndirectlyDeclaredProperties()">getIndirectlyDeclaredProperties</a></strong>()</code>
<div class="block">Gets a collection of all properties that are defined indirectly on global
 objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.ObjectLiteralCast.html" title="class in com.google.javascript.jscomp">CodingConvention.ObjectLiteralCast</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getObjectLiteralCast(com.google.javascript.rhino.Node)">getObjectLiteralCast</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;callNode)</code>
<div class="block">Checks if the given method performs a object literal cast, and if it does,
 returns information on the cast.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#getSingletonGetterClassName(com.google.javascript.rhino.Node)">getSingletonGetterClassName</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;callNode)</code>
<div class="block">Checks if the given method defines a singleton getter, and if it does,
 returns the name of the class with the singleton getter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#identifyTypeDeclarationCall(com.google.javascript.rhino.Node)">identifyTypeDeclarationCall</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;n)</code>
<div class="block">Checks if the given CALL node is forward-declaring any types,
 and returns the name of the types if it is.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#isOptionalParameter(com.google.javascript.rhino.Node)">isOptionalParameter</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</code>
<div class="block">This checks whether a given parameter name should be treated as an
 optional parameter as far as type checking or function call arg count
 checking is concerned.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#isPrivate(java.lang.String)">isPrivate</a></strong>(java.lang.String&nbsp;name)</code>
<div class="block">Checks whether a name should be considered private.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#isPropertyTestFunction(com.google.javascript.rhino.Node)">isPropertyTestFunction</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;call)</code>
<div class="block">Whether this CALL function is testing for the existence of a property.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#isSuperClassReference(java.lang.String)">isSuperClassReference</a></strong>(java.lang.String&nbsp;propertyName)</code>
<div class="block">Returns true if passed a string referring to the superclass.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.html#isVarArgsParameter(com.google.javascript.rhino.Node)">isVarArgsParameter</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</code>
<div class="block">This checks whether a given parameter should be treated as a marker
 for a variable argument list function.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;com.google.javascript.jscomp.<a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></h3>
<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#applyDelegateRelationship(com.google.javascript.rhino.jstype.ObjectType, com.google.javascript.rhino.jstype.ObjectType, com.google.javascript.rhino.jstype.ObjectType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType)">applyDelegateRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#checkForCallingConventionDefiningCalls(com.google.javascript.rhino.Node, java.util.Map)">checkForCallingConventionDefiningCalls</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#defineDelegateProxyPrototypeProperties(com.google.javascript.rhino.jstype.JSTypeRegistry, com.google.javascript.rhino.jstype.StaticScope, java.util.List, java.util.Map)">defineDelegateProxyPrototypeProperties</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#describeFunctionBind(com.google.javascript.rhino.Node)">describeFunctionBind</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getDelegateRelationship(com.google.javascript.rhino.Node)">getDelegateRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getDelegateSuperclassName()">getDelegateSuperclassName</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isConstant(java.lang.String)">isConstant</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isConstantKey(java.lang.String)">isConstantKey</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isExported(java.lang.String)">isExported</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isExported(java.lang.String, boolean)">isExported</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isInlinableFunction(com.google.javascript.rhino.Node)">isInlinableFunction</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isPrototypeAlias(com.google.javascript.rhino.Node)">isPrototypeAlias</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isValidEnumKey(java.lang.String)">isValidEnumKey</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ClosureCodingConvention()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ClosureCodingConvention</h4>
<pre>public&nbsp;ClosureCodingConvention()</pre>
</li>
</ul>
<a name="ClosureCodingConvention(com.google.javascript.jscomp.CodingConvention)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ClosureCodingConvention</h4>
<pre>public&nbsp;ClosureCodingConvention(<a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a>&nbsp;wrapped)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="applySubclassRelationship(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.jscomp.CodingConvention.SubclassType)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applySubclassRelationship</h4>
<pre>public&nbsp;void&nbsp;applySubclassRelationship(<a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;parentCtor,
                             <a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;childCtor,
                             <a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassType.html" title="enum in com.google.javascript.jscomp">CodingConvention.SubclassType</a>&nbsp;type)</pre>
<div class="block">Closure's goog.inherits adds a <code>superClass_</code> property to the
 subclass, and a <code>constructor</code> property.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#applySubclassRelationship(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.jscomp.CodingConvention.SubclassType)">applySubclassRelationship</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#applySubclassRelationship(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.jscomp.CodingConvention.SubclassType)">applySubclassRelationship</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="getClassesDefinedByCall(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassesDefinedByCall</h4>
<pre>public&nbsp;<a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassRelationship.html" title="class in com.google.javascript.jscomp">CodingConvention.SubclassRelationship</a>&nbsp;getClassesDefinedByCall(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;callNode)</pre>
<div class="block">Checks if the given method defines a subclass relationship,
 and if it does, returns information on that relationship. By default,
 always returns null. Meant to be overridden by subclasses.

 <p>Understands several different inheritance patterns that occur in
 Google code (various uses of <code>inherits</code> and <code>mixin</code>).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getClassesDefinedByCall(com.google.javascript.rhino.Node)">getClassesDefinedByCall</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getClassesDefinedByCall(com.google.javascript.rhino.Node)">getClassesDefinedByCall</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>callNode</code> - A CALL node.</dd></dl>
</li>
</ul>
<a name="isSuperClassReference(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSuperClassReference</h4>
<pre>public&nbsp;boolean&nbsp;isSuperClassReference(java.lang.String&nbsp;propertyName)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isSuperClassReference(java.lang.String)">CodingConvention</a></code></strong></div>
<div class="block">Returns true if passed a string referring to the superclass.  The string
 will usually be from the string node at the right of a GETPROP, e.g.
 this.superClass_.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isSuperClassReference(java.lang.String)">isSuperClassReference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isSuperClassReference(java.lang.String)">isSuperClassReference</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="extractClassNameIfProvide(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractClassNameIfProvide</h4>
<pre>public&nbsp;java.lang.String&nbsp;extractClassNameIfProvide(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;node,
                                         <a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parent)</pre>
<div class="block">Extracts X from goog.provide('X'), if the applied Node is goog.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#extractClassNameIfProvide(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfProvide</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#extractClassNameIfProvide(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfProvide</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The extracted class name, or null.</dd></dl>
</li>
</ul>
<a name="extractClassNameIfRequire(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractClassNameIfRequire</h4>
<pre>public&nbsp;java.lang.String&nbsp;extractClassNameIfRequire(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;node,
                                         <a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parent)</pre>
<div class="block">Extracts X from goog.require('X'), if the applied Node is goog.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#extractClassNameIfRequire(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfRequire</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#extractClassNameIfRequire(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfRequire</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The extracted class name, or null.</dd></dl>
</li>
</ul>
<a name="getExportPropertyFunction()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExportPropertyFunction</h4>
<pre>public&nbsp;java.lang.String&nbsp;getExportPropertyFunction()</pre>
<div class="block">Use closure's implementation.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getExportPropertyFunction()">getExportPropertyFunction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getExportPropertyFunction()">getExportPropertyFunction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>closure's function name for exporting properties.</dd></dl>
</li>
</ul>
<a name="getExportSymbolFunction()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExportSymbolFunction</h4>
<pre>public&nbsp;java.lang.String&nbsp;getExportSymbolFunction()</pre>
<div class="block">Use closure's implementation.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getExportSymbolFunction()">getExportSymbolFunction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getExportSymbolFunction()">getExportSymbolFunction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>closure's function name for exporting symbols.</dd></dl>
</li>
</ul>
<a name="identifyTypeDeclarationCall(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>identifyTypeDeclarationCall</h4>
<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;identifyTypeDeclarationCall(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;n)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#identifyTypeDeclarationCall(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">Checks if the given CALL node is forward-declaring any types,
 and returns the name of the types if it is.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#identifyTypeDeclarationCall(com.google.javascript.rhino.Node)">identifyTypeDeclarationCall</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#identifyTypeDeclarationCall(com.google.javascript.rhino.Node)">identifyTypeDeclarationCall</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="getAbstractMethodName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAbstractMethodName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getAbstractMethodName()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getAbstractMethodName()">CodingConvention</a></code></strong></div>
<div class="block">Function name for abstract methods. An abstract method can be assigned to
 an interface method instead of an function expression in order to avoid
 linter warnings produced by assigning a function without a return value
 where a return value is expected.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getAbstractMethodName()">getAbstractMethodName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getAbstractMethodName()">getAbstractMethodName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>function name.</dd></dl>
</li>
</ul>
<a name="getSingletonGetterClassName(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSingletonGetterClassName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSingletonGetterClassName(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;callNode)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getSingletonGetterClassName(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">Checks if the given method defines a singleton getter, and if it does,
 returns the name of the class with the singleton getter. By default, always
 returns null. Meant to be overridden by subclasses.

 addSingletonGetter needs a coding convention because in the general case,
 it can't be inlined. The function inliner sees that it creates an alias
 to the given class in an inner closure, and bails out.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getSingletonGetterClassName(com.google.javascript.rhino.Node)">getSingletonGetterClassName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getSingletonGetterClassName(com.google.javascript.rhino.Node)">getSingletonGetterClassName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>callNode</code> - A CALL node.</dd></dl>
</li>
</ul>
<a name="applySingletonGetter(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.ObjectType)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applySingletonGetter</h4>
<pre>public&nbsp;void&nbsp;applySingletonGetter(<a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;functionType,
                        <a href="../../../../com/google/javascript/rhino/jstype/FunctionType.html" title="class in com.google.javascript.rhino.jstype">FunctionType</a>&nbsp;getterType,
                        <a href="../../../../com/google/javascript/rhino/jstype/ObjectType.html" title="class in com.google.javascript.rhino.jstype">ObjectType</a>&nbsp;objectType)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#applySingletonGetter(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.ObjectType)">CodingConvention</a></code></strong></div>
<div class="block">In many JS libraries, the function that adds a singleton getter to a class
 adds properties to the class.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#applySingletonGetter(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.ObjectType)">applySingletonGetter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#applySingletonGetter(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.ObjectType)">applySingletonGetter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="getGlobalObject()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGlobalObject</h4>
<pre>public&nbsp;java.lang.String&nbsp;getGlobalObject()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getGlobalObject()">CodingConvention</a></code></strong></div>
<div class="block">Gets the name of the global object.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getGlobalObject()">getGlobalObject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getGlobalObject()">getGlobalObject</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="isPropertyTestFunction(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPropertyTestFunction</h4>
<pre>public&nbsp;boolean&nbsp;isPropertyTestFunction(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;call)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isPropertyTestFunction(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">Whether this CALL function is testing for the existence of a property.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isPropertyTestFunction(com.google.javascript.rhino.Node)">isPropertyTestFunction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isPropertyTestFunction(com.google.javascript.rhino.Node)">isPropertyTestFunction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="getObjectLiteralCast(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectLiteralCast</h4>
<pre>public&nbsp;<a href="../../../../com/google/javascript/jscomp/CodingConvention.ObjectLiteralCast.html" title="class in com.google.javascript.jscomp">CodingConvention.ObjectLiteralCast</a>&nbsp;getObjectLiteralCast(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;callNode)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getObjectLiteralCast(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">Checks if the given method performs a object literal cast, and if it does,
 returns information on the cast. By default, always returns null. Meant
 to be overridden by subclasses.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getObjectLiteralCast(com.google.javascript.rhino.Node)">getObjectLiteralCast</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getObjectLiteralCast(com.google.javascript.rhino.Node)">getObjectLiteralCast</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>callNode</code> - A CALL node.</dd></dl>
</li>
</ul>
<a name="isOptionalParameter(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOptionalParameter</h4>
<pre>public&nbsp;boolean&nbsp;isOptionalParameter(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isOptionalParameter(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">This checks whether a given parameter name should be treated as an
 optional parameter as far as type checking or function call arg count
 checking is concerned. Note that an optional function parameter may be
 declared as a simple type and is automatically converted to a union of the
 declared type and Undefined.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isOptionalParameter(com.google.javascript.rhino.Node)">isOptionalParameter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isOptionalParameter(com.google.javascript.rhino.Node)">isOptionalParameter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parameter</code> - The parameter's node.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the parameter should be treated as an optional
 parameter.</dd></dl>
</li>
</ul>
<a name="isVarArgsParameter(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVarArgsParameter</h4>
<pre>public&nbsp;boolean&nbsp;isVarArgsParameter(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isVarArgsParameter(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">This checks whether a given parameter should be treated as a marker
 for a variable argument list function. A VarArgs parameter must be the
 last parameter in a function declaration.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isVarArgsParameter(com.google.javascript.rhino.Node)">isVarArgsParameter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isVarArgsParameter(com.google.javascript.rhino.Node)">isVarArgsParameter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parameter</code> - The parameter's node.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the parameter should be treated as a variable
 length parameter.</dd></dl>
</li>
</ul>
<a name="isPrivate(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPrivate</h4>
<pre>public&nbsp;boolean&nbsp;isPrivate(java.lang.String&nbsp;name)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isPrivate(java.lang.String)">CodingConvention</a></code></strong></div>
<div class="block">Checks whether a name should be considered private. Private global
 variables and functions can only be referenced within the source file in
 which they are declared. Private properties and methods should only be
 accessed by the class that defines them.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isPrivate(java.lang.String)">isPrivate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isPrivate(java.lang.String)">isPrivate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of a global variable or function, or a method or
     property.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the name should be considered private.</dd></dl>
</li>
</ul>
<a name="getAssertionFunctions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAssertionFunctions</h4>
<pre>public&nbsp;java.util.Collection&lt;<a href="../../../../com/google/javascript/jscomp/CodingConvention.AssertionFunctionSpec.html" title="class in com.google.javascript.jscomp">CodingConvention.AssertionFunctionSpec</a>&gt;&nbsp;getAssertionFunctions()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getAssertionFunctions()">CodingConvention</a></code></strong></div>
<div class="block">Returns the set of AssertionFunction.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getAssertionFunctions()">getAssertionFunctions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getAssertionFunctions()">getAssertionFunctions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="describeFunctionBind(com.google.javascript.rhino.Node, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>describeFunctionBind</h4>
<pre>public&nbsp;<a href="../../../../com/google/javascript/jscomp/CodingConvention.Bind.html" title="class in com.google.javascript.jscomp">CodingConvention.Bind</a>&nbsp;describeFunctionBind(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;n,
                                         boolean&nbsp;useTypeInfo)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#describeFunctionBind(com.google.javascript.rhino.Node, boolean)">CodingConvention</a></code></strong></div>
<div class="block">A Bind instance or null.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#describeFunctionBind(com.google.javascript.rhino.Node, boolean)">describeFunctionBind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#describeFunctionBind(com.google.javascript.rhino.Node, boolean)">describeFunctionBind</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dd><code>useTypeInfo</code> - If we believe type information is reliable enough
     to use to figure out what the bind function is.</dd></dl>
</li>
</ul>
<a name="getIndirectlyDeclaredProperties()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getIndirectlyDeclaredProperties</h4>
<pre>public&nbsp;java.util.Collection&lt;java.lang.String&gt;&nbsp;getIndirectlyDeclaredProperties()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getIndirectlyDeclaredProperties()">CodingConvention</a></code></strong></div>
<div class="block">Gets a collection of all properties that are defined indirectly on global
 objects. (For example, Closure defines superClass_ in the goog.inherits
 call).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#getIndirectlyDeclaredProperties()">getIndirectlyDeclaredProperties</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getIndirectlyDeclaredProperties()">getIndirectlyDeclaredProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/javascript/jscomp/CheckLevelLegacy.html" title="enum in com.google.javascript.jscomp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/google/javascript/jscomp/ClosureCodingConvention.AssertInstanceofSpec.html" title="class in com.google.javascript.jscomp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/javascript/jscomp/ClosureCodingConvention.html" target="_top">Frames</a></li>
<li><a href="ClosureCodingConvention.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
